Code Reuse Through Reflection: An Empirical Perspective
نویسندگان
چکیده
Applying reuse-supporting techniques has the potential for increasing software productivity, shortening development time and decreasing maintenance costs. However, at present, there is no methodology incorporating reuse as a standard development practice and the question of which factors affect reuse, their level of significance and assessment is still a controversial issue. Code reuse, on the other hand, can be measured objectively using suitable metrics. In this paper, we adapt code reuse metrics proposed for procedural languages to object-oriented languages and use these metrics to assess an approach to enhance code reuse employing reflective techniques. The proposed approach consists of, firstly, identification and re-factoring of certain aspects of applications; secondly, re-implementing these aspects in a generic manner thus making them reusable, and, finally, composing the re-factored aspects with the rest of the application to recover the original behaviour.
منابع مشابه
Measurement of Functional Reuse
This position paper addresses the measurement of software reuse from a functional perspective rather than from a technical perspective. Many studies have observed that the potential for reuse in software goes far beyond the reuse of source lines of code and includes data, architecture , design, program and common subsystem modules, documentation, test data and various intangibles. These issues ...
متن کاملDwarf Frankenstein is still in your memory: tiny code reuse attacks
Code reuse attacks such as return oriented programming and jump oriented programming are the most popular exploitation methods among attackers. A large number of practical and non-practical defenses are proposed that differ in their overhead, the source code requirement, detection rate and implementation dependencies. However, a usual aspect among these methods is consideration of the common be...
متن کاملAggrandizing the beast's limbs: patulous code reuse attack on ARM architecture
Since smartphones are usually personal devices full of private information, they are a popular target for a vast variety of real-world attacks such as Code Reuse Attack (CRA). CRAs enable attackers to execute any arbitrary algorithm on a device without injecting an executable code. Since the standard platform for mobile devices is ARM architecture, we concentrate on available ARM-based CRAs. Cu...
متن کاملDeriving Measures of Software Reuse in Object Oriented Systems
The analysis and measurement of current levels of software reuse are necessary to monitor improvements. This paper provides a framework for the derivation of measures of software reuse and introduces several de nitions, attributes, and abstractions of potentially measurable reuse properties. The framework is applied to the problem of measuring reuse in object oriented systems which support \lev...
متن کاملCoupling, code reuse and open implementation in reflective systems
Little research has been conducted in investigating the implications of employing reflection in object-oriented (OO) systems on software qualities such as coupling and reuse. In this thesis, we investigate the reflective capabilities of Java as a representative of mainstream OO languages and propose a behavioural reflection model, which complements the language’s inextensible, introspective, st...
متن کامل